﻿/*************************************************************************************
 *
 * 文 件 名：  Program
 * 描    述：  Test
 * 
 * 版    本：  V1.0
 * 创 建 者：  YSW
 * 创建时间：  2021-11-03 15:46:06
 * ======================================
 * 历史更新记录
 * 版本：V          修改时间：         修改人：
 * 修改内容：
 * ======================================
*************************************************************************************/

using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using NLog.Extensions.Logging;
using System.Threading.Tasks;

namespace Test
{
    /// <summary>
    /// Test
    /// 程序入口
    /// </summary>
    public class Program
    {
        static Task Main(string[] args) =>
            CreateHostBuilder(args).Build().RunAsync();

        static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureAppConfiguration(config =>
                {
                    //添加配置文件,热更新
                    config.AddJsonFile("AppSettings.json", false, true);
                })
                .ConfigureLogging(logging => //配置日志，使用Nlog
                {
                    logging.ClearProviders();
                    logging.SetMinimumLevel(LogLevel.Trace);
                    logging.AddNLog(new NLogProviderOptions
                    {
                        CaptureMessageProperties = true,
                        CaptureMessageTemplates = true
                    });
                })
                .ConfigureServices((hostContext, services) =>
                {
                    //添加后台运行服务
                    services.AddHostedService<Worker>();
                });
    }
}

